package ${packageName}.${moduleNameLowerCase}.controller;

import javax.validation.Valid;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import ${packageName}.${moduleNameLowerCase}.io.${moduleName}IO;
import ${packageName}.${moduleNameLowerCase}.vo.${moduleName}VO;
import ${packageName}.${moduleNameLowerCase}.service.I${moduleName}Service;

/**
 * @ClassName: ${moduleName}Controller
 * @ClassNameExplain: 
 * @Description: ${desc}接口
 * @author ${author}
 * @date ${date}
 */
@RestController("${(beanNamePrefix!'')}${moduleName}Controller")
@RequestMapping("/${ctrlMapping}")
public class ${moduleName}Controller {
	
	@Autowired
	@Qualifier("${(beanNamePrefix!'')}${moduleName}Service")
	I${moduleName}Service ${moduleNameFirstLowerCase}Service;
	
	/**
	 * @Title: ${moduleNameFirstLowerCase}
	 * @TitleExplain: 
	 * @Description: ${desc}接口方法
	 * @param ${moduleNameFirstLowerCase}IO 入参
	 * @return ${moduleName}VO 返参
	 * @version ${version}
	 * @author ${author}
	 */
	@PostMapping("/${methodMapping}")
	public ${moduleName}VO ${moduleNameFirstLowerCase}(@Valid @RequestBody ${moduleName}IO ${moduleNameFirstLowerCase}IO) throws Exception {
		return ${moduleNameFirstLowerCase}Service.${moduleNameFirstLowerCase}(${moduleNameFirstLowerCase}IO);
	}
	
}
